import { ref, customRef } from 'vue'
// 定义响应式数据
export default function useTime(initValue: string, delay: number) {
    let timer
    let msg = customRef((track, trigger) => {
        return {
            // msg被读取时调用
            get() {
                console.log('读取msg')
                track(); // (跟踪)--告诉Vue数据msg很重要，你要对msg进行持续关注，一但变化即更新
                return initValue
            },
            // msg被修改时调用
            set(value) {
                clearTimeout(timer)
                timer = setTimeout(() => {
                    console.log(value, "set");
                    initValue = value
                    trigger(); // (触发) --通知Vue一下数据变化了
                }, delay)
            }
        }
    })
    // 导出hooks数据
    return { msg }
}